1037B - Reach Median - CodeForces Solution


greedy *1300

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define cy cout<<"YES"<<endl;
#define cn cout<<"NO"<<endl;
#define c0 cout<<0<<endl;
#define c1 cout<<1<<endl;
#define f(i,a,n) for(int i=a;i<n;i++)
#define pb push_back
#define svec(v) sort(v.begin(),v.end())
#define svrev(v) sort(v.begin(),v.end(),greater<int>())
 
 
int32_t main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t=1;
	// cin>>t;
	while(t--){
		int n,k;
		cin>>n>>k;
		vector<int> v;
		f(i,0,n){
			int x;
			cin>>x;
			v.pb(x);
		}
		svec(v);
		int ans = v[n/2];
		if(ans==k){
			c0;
		}
		else if(ans<k){
			auto it = lower_bound(v.begin(),v.end(),k);
			int ans1 = it - v.begin(),c=0;
			f(i,n/2,ans1){
				c+=abs(v[i]-k);
			}
			cout<<c<<endl;
		}
		else{
			auto it = lower_bound(v.begin(),v.end(),k);
			int ans1 = it - v.begin(),c=0;
			f(i,ans1,n/2 + 1){
				c+=abs(v[i]-k);
			}
			cout<<c<<endl;			
		}
	}
	return 0;
}


Comments

Submit
0 Comments
More Questions

1296B - Food Buying
133A - HQ9+
1650D - Twist the Permutation
1209A - Paint the Numbers
1234A - Equalize Prices Again
1613A - Long Comparison
1624B - Make AP
660B - Seating On Bus
405A - Gravity Flip
499B - Lecture
709A - Juicer
1358C - Celex Update
1466B - Last minute enhancements
450B - Jzzhu and Sequences
1582C - Grandma Capa Knits a Scarf
492A - Vanya and Cubes
217A - Ice Skating
270A - Fancy Fence
181A - Series of Crimes
1638A - Reverse
1654C - Alice and the Cake
369A - Valera and Plates
1626A - Equidistant Letters
977D - Divide by three multiply by two
1654B - Prefix Removals
1654A - Maximum Cake Tastiness
1649A - Game
139A - Petr and Book
1612A - Distance
520A - Pangram